package com.code.gen.enums;

/**
 * 模板的占位符名称
 * 
 * @author liu
 * @date 2020-08-18
 */
public enum ECodeGenPlaceholder {

    /** 前缀 */
    PREFIX("~"),
    /** 后缀 */
    SUFFIX("~"),
    /** 包路径后缀(全拼要加上模板的ID(~ID+packagePath~)) */
    _SUFFIX_PACKAGE_PATH("PackagePath~"),
    /** 包的基础路径 */
    BASE_PATH("~basePath~"),
    /** 包的模块路径 */
    MODULE_PATH("~modulePath~"),
    /** 包的基础路径+模块路径 */
    BASE_MODULE_PATH("~baseModulePath~"),
    /** 类注释 */
    CLASS_COMMENT("~classComment~"),
    /** 类作者 */
    CLASS_AUTHOR("~classAuthor~"),
    /** 当前时间 */
    DATE("~date~"),
    /** 序列化ID */
    SERIAL_VERSION_UIN("~serialVersionUID~"),
    /** 类名小写 */
    CLASS_NAME_X("~classNameX~"),
    /** 类名大写 */
    CLASS_NAME_D("~classNameD~"),
    /** 类作为参数的时候的名字小写 */
    CLASS_PARAM_NAME_X("~classParamNameX~"),
    /** 类作为参数的时候的名字大写 */
    CLASS_PARAM_NAME_D("~classParamNameD~"),
    /**类Bean对象名*/
    CLASS_BEAN_NAME("~classBeanName~"),
    /** 数据库名 */
    DB_NAME("~databaseName~"),
    /** 表名原生 */
    TABLE_NAME("~tableName~"),
    /** 表名大写 */
    TABLE_NAME_D("~tableNameD~"),
    /** 建表语句 */
    CREATE_SQL("~createSql~"),
    /**Controller路径*/
    CONTROLLER_URL("~controllerUrl~"),
    /**Controller路径后缀(action)*/
    CONTROLLER_SUFFIX_ACTION("~controllerSuffixAction~"),
    /**Controller路径后缀(show)*/
    CONTROLLER_SUFFIX_SHOW("~controllerSuffixShow~"),
    /**Controller路径后缀(do)*/
    CONTROLLER_SUFFIX_DO("~controllerSuffixDo~"),

    /** 字段注释 */
    FIELD_COMMENT("~fieldComment~"),
    /** 字段导出注解 */
    FIELD_EXCEL("~excel~"),
    /** 字段名小写 */
    FIELD_NAME_X("~fieldNameX~"),
    /** 字段名大写 */
    FIELD_NAME_D("~fieldNameD~"),
    /** 字段类型 */
    FIELD_TYPE("~fieldType~"),
    /** 数据库字段名大写 */
    FIELD_NAME_DB_D("~fieldNameDbD~"),
    /** 数据库字段类型 */
    FIELD_TYPE_DB("~databaseFieldType~"),
    /** 数据库字段xml类型 */
    FIELD_TYPE_DB_XML("~databaseFieldTypeXml~"),
    /**JavaID 字段注释*/
    ID_COMMENT("~idComment~"),
    /**JavaID 字段名大写*/
    ID_D("~idD~"),
    /**JavaID 字段名小写*/
    ID_X("~idX~"),
    /**ID的Java类型*/
    ID_JAVA_TYPE("~idJavaType~"),
    /**ID的jdbcType类型*/
    ID_JDBC_TYPE("~idJdbcType~"),
    /**XMLID参数和返回值的类型*/
    ID_XML_PARAM_TYPE("~idXmlParamType~"),
    /**数据库ID 字段名原生*/
    ID_DATABASE_FIELD_Y("~idDatabaseField~"),
    /**数据库ID 字段名大写*/
    ID_DATABASE_FIELD_D("~idDatabaseFieldD~"),
    /**Java编号 字段注释*/
    SERIAL_NUMBER_COMMENT("~serialNumberComment~"),
    /**Java编号 字段名大写*/
    SERIAL_NUMBER_D("~serialNumberD~"),
    /**Java编号 字段名小写*/
    SERIAL_NUMBER_X("~serialNumberX~"),
    /**Java编号类型*/
    SERIAL_NUMBER_JAVA_TYPE("~serialNumberJavaType~"),
    /**Java编号的jdbcType类型*/
    SERIAL_NUMBER_JDBC_TYPE("~serialNumberJdbcType~"),
    /**XML编号字段参数和返回值的类型*/
    SERIAL_NUMBER_XML_PARAM_TYPE("~serialNumberXmlParamType~"),
    /**数据库编号 字段名原生*/
    SERIAL_NUMBER_DATABASE_FIELD_Y("~serialNumberDatabaseField~"),
    /**数据库编号 字段名大写*/
    SERIAL_NUMBER_DATABASE_FIELD_D("~serialNumberDatabaseFieldD~"),
    /**Java是否删除 字段注释*/
    DEL_COMMENT("~delComment~"),
    /**Java是否删除字段名大写*/
    DEL_D("~delD~"),
    /**Java删除标志字段名小写*/
    DEL_X("~delX~"),
    /**Java删除标志字段类型*/
    DEL_JAVA_TYPE("~delJavaType~"),
    /**Java删除标志字段的jdbcType类型*/
    DEL_JDBC_TYPE("~delJdbcType~"),
    /**XML删除标志字段参数和返回值的类型*/
    DEL_XML_PARAM_TYPE("~delXmlParamType~"),
    /**数据库删除标志字段名原生*/
    DEL_DATABASE_Y("~delDatabase~"),
    /**数据库删除标志字段名大写*/
    DEL_DATABASE_D("~delDatabaseD~"),
    /**数据库删除标志字段值*/
    DEL_DATABASE_NUMBER("~delDatabaseNumber~"),
    /**数据库删除标志不等于字段的值*/
    DEL_DATABASE_NUMBER_NOT("~delDatabaseNumberNot~"),
    /**数据库创建时间 字段名大写*/
    CREATE_TIME_DATABASE_FIELD_D("~createTimeDatabaseFieldD~"),

    /***/
    XING("~*~");

    /**模板的占位符名称*/
    private String placeholder;

    private ECodeGenPlaceholder(String placeholder) {
        this.placeholder = placeholder;
    }

    /**
     * 获取模板的占位符名称
     * 
     * @return
     */
    public String getPlaceholder() {
        return placeholder;
    }

    /**
     * 设置模板的占位符名称
     * 
     * @param placeholder
     */
    public void setPlaceholder(String placeholder) {
        this.placeholder = placeholder;
    }

}